約 4,636,423 件
https://w.atwiki.jp/android/pages/21.html
Hello, Android! 第一印象は重要だ。それは、あなたが、このアンドロイドというフレームワークを手にして、"Hello, World!"を書いたときに受ける第一印象だ。そう、アンドロイドにおいて、それはとても簡単なのだ。下記を見て欲しい。 プロジェクトを作成する。 UIを構築する。 コードを走らせる Hello, Android 以下のセクションでそれをつまびらかに語っていこう。 UIをXMLのレイアウトにアップグレードする。 プロジェクトをデバッグする。 Eclipseなしでプロジェクトを作成する。 さあ行こう。 プロジェクトを作成する プロジェクトを作成することはできる限り簡単にしてある。Eclipseプラグインで、Androidの開発環境のスナップを作成することが可能だ。Eclipse 3.3以上(Europa)と、Eclipse用のAndroidプラグインは用意してあるかい?それらをインストールしてから次に進んで欲しい。 最初に、"Hello, World!"をビルドするための、簡単な要約を述べておこう。 File- New- Project menuから、"Android Project"を新しく作成する。 New Android Project ダイアログで、プロジェクトの詳細を埋める。 なにかを表示するための自動生成されたテンプレートコードを編集する。 さあ、行こう!以下でそれぞれのステップの詳細を説明しよう。 1.新しい"Android Project"を作成する。 Eclipseから、File- New- Projectと選択して欲しい。もし、EclipseのAndroidプラグインがきちんとインストールされているなら、表示されるダイアログの中に、"Android"と名前のついたフォルダがあり、その中には、"Android Project"があるはずだ。 "Android Project"を選択し、"Next"を押そう。 2.New Android Project ダイアログで、プロジェクトの詳細を埋める。 次の画面で、プロジェクトに関係する詳細を入力する。たとえば次の例のように: それぞれの入力欄が意味するところは次のようになる。 Project Name プロジェクトを保存したいディレクトリもしくはフォルダの名前 Package Name これはパッケージの名前空間だ。ちょうどJavaのように。あなたのソースコードは全てここより下位におかれるようにする。ここには、自動生成されたスタブのパッケージ名がすでにセットされているはずだ。パッケージ名は、システムにインストールされるすべてのパッケージ間で、ユニークである必要がる。というわけで、あなたのアプリケーションに標準的なドメイン命名スタイルを使うことはとても重要だ。上述の例では、パッケージ名として、ドメイン"com.google.android"を使用している。あなたの所属する組織にみあった、唯一の名前を使用するといいだろう。 Activity Name ここでは、プラグインによって生成されるスタブクラスの名前が書かれている。これは、AndroidのActivityクラスのサブクラスである。Activityは単純なクラスで、それ自体で実行させ、処理させることができる。希望するならUIも作れるが、そうしなくても構わない Application Name ここにはユーザーが目にするアプリケーションのタイトルを入力する。 "Use default location"チェックボックスをONにすることで、プロジェクトファイルの保存場所を変更することができる。 3.自動生成コードを編集する。 After the plugin runs, you ll have a class named HelloAndroid that looks like this プラグインを実行すると、下記のような、HelloAndroidクラスが出来上がっているがわかるだろう。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); } } 次のステップで、これを修正していこう! UIを構築する。 プロジェクトをセットアップしたあとは、当然、それを修正していく。以下がその完成品だ。1行ずつ解剖していこう。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } } このサンプルのコンパイルをするために、インポートセクションに、"import android.widget.TextView;"を追加するしなければらいことを注意しよう。 Androidでは、ユーザーインターフェースは、Viewsと呼ばれるクラス階層で成り立っている。Viewはシンプルな描画オブジェクトである。たとえば、ラジオボタンであるとか、アニメーションであるとか、(今回のケースは)テキストラベルなどだ。テキストを扱えるVieewのサブクラスの名前は、単に、TextViewとなる。 下記が、TextViewクラスを生成する方法だ。 TextView tv = new TextView(this); TextViewクラスのコンストラクタに渡している引数は、Android Contextのインスタンスである。Contextは単にシステムへ渡すハンドルである。そのハンドルは、リソースを解決したり、データベースや設定などにアクセスするために供給されている。ActivityクラスはContextから派生している。それゆえ、HelloAndroidクラスはActivityクラスのサブクラスであり、コンテキストであるのだ。だから、"this"参照をTextViewに渡すことができる。 一度TextViewを生成してしまえば、何を表示するのか伝えてあげる必要がある。 tv.setText("Hello, Android"); とくに特筆すべきことはないだろう。 ここまでで、TextViewを生成し、どんなテキストをディスプレイに表示すべきかを伝えた。最後のステップは、実際のディスプレイに、TextViewをつなぐことである。こんな感じに。 setContentView(tv); ActivityのsetContentViewメソッドは、ActivityのUIにどのViewが関連付けられるべきかをシステムに通知する。もし、Activityがこのメソッドをコールしないなら、UIは何も表示されないし、システムは真っ白けの画面を表示することだろう。今のところの目的は、何でもいいからテキストを表示することなので、作ったばかりのTextViewを渡してしまえばよい。 これで、アンドロイドでの"Hello, World"のコーディングは完了だ。もちろん、つぎは、実行させるてみよう。 コードの実行 Hello, Android Eclipseプラグインのおかげで、とても簡単にあなたのアプリケーションを実行することができる。メニューからRunを選択すると、下のようなダイアログが表示される。 次に、"Android Application"を選択しよう。そして、アイコンの左上をクリックしよう(+印とともに、画面に描画されているやつだ)。それとも、単に、"Android Application"をダブルクリックするだけでいい。"New_configuration"と名づけられた新しいランチャーダイアログが表示されるはずだ。 名前を何か適当なもの、たとえば、"Hello, Android"と変更して、"Browse"ボタンを押下して、あなたのプロジェクトを選択しよう。(もしあなたが2個以上のAndroidプロジェクトをEclipseで開いていたら、正しいものを選択しているかどうか確かめてほしい)プラグインは、自動的に、あなたのプロジェクトからActivityのサブクラスをスキャンして、"Activity "ラベルの下のドロップダウンリストに追加してくれる。デフォルトでは、あなたは、"Hello, Android"プロジェクトしか作っていないから、単に続けるだけでいい。 "Apply"ボタンを押下しよう。こういう風になる。 これで成功だ。"Run"ボタンを押してみよう。Androidエミュレータがスタートするはずだ。起動完了したら、あなたのアプリケーションが表示されるだろう。今までいったことが全部できていれば、次のような画面を目にすることができるはずだ。 これが、Androidにおける、"Hello, World"だ。とっても簡単だったろう?チュートリアルの次のセクションでは、Androidについて、より詳細な価値ある情報を知ることができるだろう。 UIをXMLレイアウトにアップグレードする。 さっき終わらせた。"Hello, World"サンプルは、いわゆる"programmatic"なUIレイアウトだ。このことは、UI記述をソースコードに直接書いてビルドしているってことだ。UIプログラミングがおわっても、変更にもろいやりかただってことはわかるだろう。たとえば、ちょっとしたUIのレイアウトの変更が、大きなソースコードの変更につながったりとか。Viewクラス同士のつながりは忘れやすいし、それがデバッグに時間を浪費することにつながる。 そんなわけで、Androidでは、もうひとつのUI構築のモデルを提供している。それが、XMLベースのレイアウトファイルだ。このコンセプトを説明するには一例をあげるのが一番だね。ここに、今終わらせたプログラミングベースのものと同じ振る舞いをするXMLレイアウトファイルを用意しよう。 ?xml version="1.0" encoding="utf-8"? TextView xmlns android="http //schemas.android.com/apk/res/android" android layout_width="fill_parent" android layout_height="fill_parent" android text="Hello, Android"/ たいていの、Andorid XMLレイアウトファイルの構成はシンプルだ。タグのツリーからなっており、それぞれのタグは、Viewクラスの名前になっている。この例で言えば、TextView一要素だけからなる シンプルなツリー構成だ。XMLレイアウトファイルには、タグ名として、Viewクラスを継承したものなら、自作のものでも何でも使える。これは、Webの構築モデルからインスパイアされたものなんだ。ちょうど、UIの表示とデータを処理するアプリケーションロジックを分離できるみたいに。 この例では、4つのXML属性がある。以下が、その意味の要約だ。 Attribute 意味 xmlns android XMLネームスペース定義だ。これは、Androidネームスペースで定義された、共通の属性を参照するということをAndroidツールに知らせている。 android layout_width この要素は、このViewが消費する画面幅がどれくらいなのかを定義する要素だ。この場合で言えば、"fill_parent"を使っているが、画面全体の幅を指定しているってことになる。 android layout_height android layout_widthto同じようなものだが、これは高さを意味する。 android text これは、TextViewの内容をセットするものだ。この例でいえば、いつもの"Hello, Android"だ。 そう。XMLレイアウトはざっとこんな感じだ。けど、どうやってそれを組み込むと思う? resディレクトリの下に入れればOKだ。"res"は"resources"をはしょったもので、そのディレクトリには、アプリケーションに必要なコード以外の一式を詰め込んでおけばいい。たとえば、イメージや、ローカライズされた文字列や、XMLレイアウトファイルだ。 Eclipseプラグインは、XMLファイルを作成してくれる。上の例では単にそれを使わなかっただけだ。Package Explorerで、resフォルダの内容を開いて、main.xmlファイルに編集して、上のテキストをコピーして、変更を保存しよう。 Package Explorerのソースコードフォルダから、R.javaファイルを開いてみよう。次のようなものが表示されるはずだ。 public final class R { public static final class attr { }; public static final class drawable { public static final int icon=0x7f020000; }; public static final class layout { public static final int main=0x7f030000; }; public static final class string { public static final int app_name=0x7f040000; }; }; プロジェクトのR.javaファイルに全てのリソースにインデックスが定義されている。このクラスをソースコードのなかで、プロジェクトで使用しているリソースへの参照の速記方法の一つとしてつかえばいい。これはEclipseのようなコードコンプリート機能を持つIDEでは特にパワフルだ。なぜなら、その機能のおかげで、すばやく、インタラクティブに探しているリソース参照を配置することができるからだ。 この例で注意すべきは、"layout"と命名されたインナークラスと、"main"と命名されたフィールドだ。新しいXMLレイアウトファイルを追加したら、エクリプスプラグインは通知し、R.javaファイルを再生成するだろう。つまり、他のリソースファイルをプロジェクトに追加するなら、R.javaファイルも更新されるのがわかるだろう。 最後に、あなたのHelloAndroidコードを、ハードコーディングされたバージョンからXMLのUIを使うように修正する必要がある。新しいクラスはこのようになるはずだ。見ればわかるように、ソースコードはよりシンプルになった。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); } } この変更を加える際に、コピーアンドペーストをしないことだ。Rクラスに働くコードコンプリート機能を試してみよう。これがかなり使える機能だってことがわかるだろう。 変更を加えたら、アプリケーションを再起動してみよう。することと言えば、緑のRunと書かれた矢印アイコンをクリックし、Run - Run Last Launchedをメニューから選択するだけだ。すると、さっき見たのと同じものが表示されるはずだ!結局のところ、2つの違ったレイアウトのアプローチは同じ結果をもたらすわけだ。 XMLレイアウトの作成はもっと説明することがあるんだが、今ここで説明してもしょうがない。このアプローチのもっと詳細な情報のためには"Implementing a Uset Interface"ドキュメントを読んで欲しい。 プロジェクトのデバッグ EclipseのAndroidプラグインは、Eclipseデバッガにうまく統合されてもいる。それをデモするために、コードにバグを混入させてみよう。次のようにHelloAndroidのソースコードに変更を入れて欲しい。 public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); Object o = null; o.toString(); setContentView(R.layout.main); } } これは単に、NullPointerExceptionを入れてみただけだ。もう一度アプリケーションを実行させると、すぐに次のような画面を見るだろう。 何がおかしかったのかを特定するために、ソースコードの"Object o = null;"と書かれた行にブレークを貼ってみよう。(ブレークポイントを貼るためには、Eclipseの行番号の左の領域をダブルクリックすればいい)それから、Run - Debug Last Launched を選択してデバッグモードに入ろう。エミュレータが再起動すると、セットしたブレークに到達した時点でアプリケーションは中断する。EclipseのDebug Perspectiveを通してどんなアプリケーションでもステップ実行ができる。 Eclipseなしでプロジェクトを作成する。 もし、あなたがEclipseを使用しないなら(たとえば別のIDEがいいだとか、そもそも単にテキストエディタとコマンドラインツールが使いたいなら)Eclipseプラグインはあなたの助けにはならないだろう。でも心配しなくていい。Eclipseを使用しないからといって、あなたは何も便利さを失わないのだ。 EclipseのAndroidプラグインは、Android SDKに同梱されているツール群のラッパーにすぎないからだ。(ツール群とは、エミュレータや、aapt,adb,ddmsなどだ。ほかにもどこかにドキュメントがあるだろう)それゆえ、他のツールを使って、それらをラッピングすることは可能だ。たとえば ant のビルドファイルを使うなどして。 Android SDKは、"activityCreator.py"とネーミングされたPythonスクリプトも含んでいる。それは、antと互換性のあるbuild.xmlファイルはもちろんプロジェクトに必要なソースコードとスタブディレクトリを全て作成してくれる。これは、コマンドラインでプロジェクトをビルドできることと、あなたの好きな他のIDEと統合できることを意味する。 たとえば、Eclipseを通してさっき作ったものと似たようなHelloAndroidプロジェクトを作成するためには、次のコマンドを使えばいい。 activityCreator.py --out HelloAndroid com.google.android.hello.HelloAndroid プロジェクトをビルドするためには、 ant コマンドを走らせればいい。コマンドが成功すれば、 bin フォルダの下にHelloAndroid.apkと名づけられたがファイルがあるはずだ。この.apkファイルは、Android Packageで、 adb ツールを使ってエミュレータにインストールして実行できる。 これらのツールについての使用方法をもっと知りたければ、上で紹介されたドキュメントを読んで欲しい。
https://w.atwiki.jp/api_programming/pages/195.html
下位ページ インテントとインテントフィルタ サービス(Service) ストレージオプション フラグメント(Fragment) プロセスとスレッド(processes and threads) リストビュー(List View) レイアウト(Layout) 入力コントロール(Controls) 設定(Setting) 通知(Notification) Content スピナーコントロールの設定レイアウトの準備 選択肢の設定string.xmlでの設定 プログラム側から値を選択する アクティビティアプリの閉じられ方で、挙動が異なる アクションバーの代わりに、ツールバーを使うアクションバーを消す ツールバーをレイアウトに追加する Activity内で、アクションバーの代わりに使う記述をする スライドメニューを実装するドロワーレイアウトを作成する ドロワービューの中身を準備するListViewで作る 別のXMLファイルで作る ドロワーのオープン・クローズを実装する バックグラウンド処理(サービス) 閉じられても動作するサービスを動かすServiceクラスの作成 Activityから、作成したサービスを動かす 加速度センサの情報を受ける 回転角の情報を受け取る回転角の解釈 画面の回転を抑制するAndroidManifest.xmlで抑制する 動的に(プラグラム内で)で抑制する インテントにオブジェクトの情報を乗っけるparcelable をインプリメントしたクラスをつくるParcelable.Creater フィールドの実装 BundleやIntentに情報を乗せる Activity側で受ける 複数の情報をリストにして表示する バイブレーションを一定時間、作動させるパーミッションの追加 Vibratorオブジェクトを生成する vibrateを実行する 通知バーにバックグラウンド起動中の表示を出す 裏返したときの方向で、記録を分ける メニューのバーを設定するメニューリソースを準備するフォルダの作成 リソースファイルの作成 設定したメニューファイルを、Activityのメニューバーに評させる メニューの選択を受け取る処理を作る チェックボックスを動作させる 設定画面を設定する/設定情報をローカルストレージに残す 記録内容をGoogleスプレッドシートに記録する 記録内容をGoogleカレンダーに記録するブラウザでURLを開く ブラウザを開くURIとして、認証ページを指定する リダイレクトを受け取る 受け取ったリダイレクトをデータに紐解く codeを送って、tokenを受け取る tokenを保存する 終了時間と開始時間から、時間の計算をする リストビューで独自レイアウトを設定する USBデバッグ リリースビルド スピナーコントロールの設定 [部分編集] レイアウトの準備 Spinner android id="@+id/planets_spinner" android layout_width="fill_parent" android layout_height="wrap_content" / 選択肢の設定 string.xmlでの設定 まずは、string.xmlに文字配列を作る string-array name="planets_array" item Mercury /item item Venus /item item Earth /item /string-array この文字配列をアダプタにして、スピナーコントロールにアダプタをするリソースのアダプタ化には、ArrayApapter.createFromResource を使用できる。simple_spinner_item はデフォルト外観を設定している。通常はこれで良し。 setDropDownViewResource(int) は選択時に一覧を表示するのに使う。なくても一応ドロップダウンは出てくるが、ちょっとしょぼい? Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter CharSequence adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); createFromResource - ArrayAdapter | Android Developers setDropDownViewResource - ArrayAdapter | Android Developers プログラム側から値を選択する Spinner.setSelection で位置を指定する。その位置を取得するにはAdapterを使う。 使っているアダプタを取得するobjSpinner.getAdapter でアダプタを取得できる objAdapter.getPosition("...") でセレクタの位置を取得値が見つからなかったら -1 が返る objSpinner.setSelection に先程取得した位置を設定する ArrayAdapter spinnerAdapter = (ArrayAdapter) objSpinner.getAdapter(); int i = spinnerAdapter.getPosition("value"); objSpinner.setSelection(i); getAdapter - AbsSpinner | Android Developers getPosition - ArrayAdapter | Android Developers setSelection - AbsSpinner | Android Developers アクティビティ アプリの閉じられ方で、挙動が異なる onDestroyが呼ばれない限りは、Serviceを使わずとも、 ↓にある通り、ホームボタンとバックボタンでアプリケーションから離れた場合で挙動が違う。 https //kokufu.blogspot.jp/2011/03/activity.html 説明として、 ホームボタン:ホームアプリケーションが起動している バックボタン:Activityスタックからポップしている と書いてあったが、気持ち悪いのは、□ボタンを押すとあたかもまだ生きているかのように、アプリケーションリストに表示されるから。画面上に残っているが実際には onDestroy で消えている。 このあたりが、「アプリケーションをスワイプして消しても消さなくてもメモリにはそれほど影響しない」ということなんだろうか。 アクションバーの代わりに、ツールバーを使う [部分編集] 今後の拡張性から、アクションバーよりツールバーを使ったほうが良い、という記述をちょこちょこ見かけるが、Android Studioでプロジェクトを作ると、基本はアクションバーが設定されている。これをツールバーに置き換える。 アプリバーの追加 | Android Developers Toolbar | Android Developers AndroidのToolBar(新しいActionBar)メモ | Qiita アクションバーを消す res/values/styles.xmlで AppThemeのテーマを変更する style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" ツールバーをレイアウトに追加する android.support.v7.widget.Toolbar android id="@+id/toolbar" android layout_width="match_parent" android layout_height="wrap_content" / レイアウトの@android */* ,?attr/* ,?* ,?android attr/* の違い | Qiita Activity内で、アクションバーの代わりに使う記述をする /* ToolBarの設定 */ Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); toolbar.setTitleTextColor(Color.WHITE); // 設定をしておく setSupportActionBar(toolbar); // アクションバーの代わり、という設定 これを書かないと、画面上では何も表示されない(空間だけはある) スライドメニューを実装する [部分編集] NavigationDrawer が正式名称? DrawerLayout | Android Developers ナビゲーションドロワーの作成 | Android Developers ドロワーレイアウトを作成する レイアウトxmlにて、DrawerLayout オブジェクトをレイアウトのルートビューとして指定する。 ルートの中にドロワービューとメインビューを設定する順序はメインビューを先にする高さはルートに合わせる(match_parent) 次にドロワーのビューを指定するlayout_gravityを指定する(layout_gravity:どっちにくっつけるか、どちら方向から出てくるか?)右から左に出す場合にはstart layout_heightは親ビューと同じ高さを指定する layout_widthはすべての情報が見える幅を指定する ドロワービューの中身を準備する ListViewで作る ListViewの中に android layout_gravity="..." を入れないと、スライドで入ってくる設定にならず、重ねて見えている状態になる android background="#111" 背景がないと、中途半端にすけた状態で表示される。 別のXMLファイルで作る NavigationViewで作った場合、ヘッダ部分とメニュー部分をそれぞれレイアウトとメニューで作成する app headerLayout="@layout/drawer_header" app menu="@menu/drawer" ドロワーのオープン・クローズを実装する DrawerLayout にリスナーをセットする。このリスナーは DrawerLayout.DrawerListener を実装して、使う。 Activity にアクションバーがセットされている場合は ActionBarDrawerToggle が DrawerLayout.DrawerListener を実装する。 DrawerLayout mDrawerLayout = ...; ActionBarDrawerToggle mDrawerToggle; mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) { public void onDrawerClosed(View view) {...} public void onDrawerOpened(View drawerView) {...} }; // Set the drawer toggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); 【Android】スライドして表示されるメニュー | Qiita Navigation Drawer の概要 | Android 開発入門 Navigation Drawer の基本的な実装方法 | Android 開発入門 バックグラウンド処理(サービス) サービス - Android Developers Androidアプリでのバックグラウンド処理と通知機能 | Android Studio 2で始めるアプリ開発入門 - CodeZine 流れ Serviceのサブクラスを作成する AndroidManifest.xmlにサービスを登録 サブクラスで、必要なクラスをオーバーライドする。次のあたり。onCreate() onStartCommand() onDestroy() アクティビティからサービスを起動する (きちっと止まるように設計しておく) 閉じられても動作するサービスを動かす バックグラウンドで動作させるためにはServiceを用いる。 Serviceクラスの作成 Activityのように、作成・開始などのイベントで動くが、おもに3つ。 onCreate onStartCommand onDestroy Service | Android Developers Activityから、作成したサービスを動かす startServiceで起動、stopService(stopSelf)で停止。忘れずにServiceを止めないと、いつまでも動き続ける。 startService、stopServiceなどには、インテントを準備して、サービスにそれをなげる形をとっている。 startService - Context | Android Developers stopService - Context | Android Developers stopSelf - Service | Android Developers 加速度センサの情報を受ける 回転角の情報を受け取る センサーは加速度まではそのまま読み取れるが、回転角は加速度情報、地磁気情報から計算する必要がある。まず getRotationMatrix で回転行列を求め、getOrientation で回転行列を回転角に変換する(計算する) getRotationMatric - SensorManager | Android Developers getOrientation - SensorManager | Android Developers 引数に取った2つの配列には、傾斜行列、回転行列(の情報)が計算されて入ってくる。情報が不要ならnullでよい。 回転角の解釈 正位置として Zは天を指す Yは磁北を指す Xは Y,Z の外積を指す 画面の回転を抑制する AndroidManifest.xmlで抑制する 回転させないActivityに android screenOrientation="portrait" を追加すると、縦向き固定になる activity | Android Developers 動的に(プラグラム内で)で抑制する Activity内で、setRequestedOrientation を呼び出す setRequestedOrientation - Activity | Android Developers screenOrientation - ActivityInfo | Android Developers インテントにオブジェクトの情報を乗っける bundleで多くの情報をわたすような方法として、putParcelableArrayList くらいしか見当たらないので、これを使う。そのためには、Parcelable をimplements したようなクラスを作る必要がある。 Bundle | Android Developers parcelable をインプリメントしたクラスをつくる Parcelable実装にはParcelable.Createorというstatic fieldが必要。そのフィールドの初期化にて、Parcelに保存したデータを復元するためのコンストラクタを呼ぶ。 Parcelable | Android Developers Parcelable.Creater フィールドの実装 Parcelable.Creater | Android Developers createFromParcel(Parcel source)Parcelable.writeToParcel() で書き出されたParcelデータをインスタンス化する → コンストラクタを作っておく newArray(int size)ParcelableクラスのArrayを作る BundleやIntentに情報を乗せる IntentならputParcelableArrayListExtra、BundleならputParcelableArrayList で情報を登録 putParcelableArrayListExtra - Intent | Android Developers getParcelableArrayList - Bundle | Android Developers Activity側で受ける IntentならgetParcelableで受けられる。受けたときにすでにParcelableをimplementしたオブジェクトで受けられる。 getParcelableArrayListExtra - Intent | Android Developers getParcelableArrayList - Bundle | Android Developers 複数の情報をリストにして表示する [https //www54.atwiki.jp/api_programming/pages/202.html] バイブレーションを一定時間、作動させる Vibratorインスタンスからvibrate()を実行する。バイブレーションの実施にはAndroidManifest.xmlにパーミッションの追加が必要。 パーミッションの追加 マニフェストにパーミッションを追加する - パーミッションの宣言 | Android Developers Vibratorオブジェクトを生成する getSystemServiceでVibratorオブジェクトを生成する Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); getSystemService - Context | Android Developers Vibrator | Android Developers vibrateを実行する 幾つかパターンはあるが、かんたんなところで、これ。 vibrator.vibrate(500); vibrate - Vibrator | Android Developers 通知バーにバックグラウンド起動中の表示を出す 裏返したときの方向で、記録を分ける メニューのバーを設定する メニューリソースを準備し、表示させる。そのうえで、メニューのタップ動作に対する反応を記述する メニュー | Android Developers メニューリソースを準備する フォルダの作成 デフォルトではメニュー用のフォルダが無い(かもしれない)ので、res/menuを追加し、ここに入れておく。 resフォルダ右クリック [New]>[Android resource directory]を選択 ダイアログで、「Resource type 」から「menu」を選択し、OK リソースファイルの作成 menuフォルダを右クリック [New]>[Menu resource file] ファイル名を入力し、OK ファイル内に menu item / item / /menu を記述(実際はidやタイトルを設定する必要あり) Menu Resource | Android Developers 設定したメニューファイルを、Activityのメニューバーに評させる onCreateOptionMenuをオーバーライドして、この中でリソースの指定などを行う。XMLのメニューを実際?のメニューオブジェクトに変換するのに、inflatorを使用できる。 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); //(1) inflater.inflate(R.menu.menu_options_menu_list, menu); //(2) return super.onCreateOptionsMenu(menu); //(3) } onCreateOptionMenu - Activity | Android Developers メニューの選択を受け取る処理を作る オプションメニューを作っていれば、その受取はonOptionsItemSelectedをオーバーライドして処理できる。 @Override public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } このとき、itemにクリックされた情報が入っているので、これを紐解いて、どのメニューがクリックされたか判断し、switchなどで処理する。 int itemId = item.getItemId(); Android 3.0(APIレベル11)以降では メニューリソースXMLのitemに、android onClick を記述しておくことで、動作を定義させることもできる。 チェックボックスを動作させる Android/入力コントロール(Controls) 設定画面を設定する/設定情報をローカルストレージに残す Android/設定 記録内容をGoogleスプレッドシートに記録する http //qiita.com/konnobu/items/8bec3d5a45235fc88a08 記録内容をGoogleカレンダーに記録する 多分、クライアント用のライブラリが作られていて、簡単に認証処理をしたり、データを取得したりできるようになっていると思われるが、別サイトでも転用が聞くように、地道な方法を取ってみる。というか、専用のライブラリの使い方をよくわかっていない。 流れは OAuth2.0で認証Google API にプロジェクトと登録(キーの発行) 認証コードを発行 受け取り コードを access token と交換 access token も使って、リクエスト送信 こまごまと引っかかった場所が多数。 AndroidManifest.xmlにパーミッションの設定が必要 ブラウザでURLを開く Android/インテントとインテントフィルタ ブラウザを開くURIとして、認証ページを指定する GoogleのOAuth2認証 OAuth2認証 | Android Developers Step 1 Send a request to Google's OAuth 2.0 server | Google Identify Platform リダイレクトを受け取る 大概の(google 以外でも)場合は、認証後に指定したリダイレクト先に飛ばしてくれる。そのスキーム名に応じて、Android側でどのアプリで開くのかを考えてくれる。Android に「このスキームがきたら、俺のアプリで開いて」と指示するためには、AndroidManifest.xml に記述する必要がある。 scheme // host port / path intent-filter内で、action, category, data を指定する。上記のリダイレクト先に対応する内容を書くのは data で、scheme は data android scheme="com.example.testproject" / のようになる。 Intent の 定数として ACTION_VIEW などが定義されているが、実体は文字列で、それが android.intent.action.VIEW などになる(ので、どれを設定するかはIntent を参照)。ブラウザでどんなスキームがきたらヨソになげるのか、どんな action として投げるのか、説明されている場所がわからないが、ひとまず action ACTION_VIEW category CATEGORY_BROWSABLR scheme ここは各自で で開けた。redirect_uri で scheme //~ が指定できない( /だけ)なので、hostは存在せず、pathだけ。 インテント解決 - インテントとインテント フィルタ | Android Developers Intent - Android Developers 受け取ったリダイレクトをデータに紐解く 一旦受け取れれば、中身は getIntent() を経由して、中身を見られる(Intent.getAction(), Intent.getCategories() など)。OAuth では、path のなかに code を入れて返してくるので、Dataのなかを探せばある Intent intent = getIntent(); String data = intent.getDataString(); とすると、googleの認証で指定した redirect_uri のあとに code がくっついて返ってきている。以下、サンプル com.example.####.#### /oauth2callback?code=4/8abcdefg# 上記の場合、oauth2callback を uri.getPath() で、4/8abcdefg# を getQueryParameter("code") で受け取れる。 getIntent - Activity | Android Developers getData - Intent | Android Developers getQueryParameter - Uri | Android Developers codeを送って、tokenを受け取る コードと必要情報を POST することで、access token との交換をする。この処理は、UIスレッドだとエラーになるので、AsyncTaskで実行する必要がある。 また、交換がうまく行かなかったときは、HttpURLConnection の getInputStream ではなく、 getErrorStream に情報が流れるため、プログラムの確認作業では注意。(この辺をよくわかっていなくて、エラー原因を探すのに苦労した。) redirect_uri はスキームもパスもコード発行依頼時と同じものを使う。 Android/プロセスとスレッド(processes and threads) Async Task | Android Developers tokenを保存する プレファレンスへの保存 終了時間と開始時間から、時間の計算をする リストビューで独自レイアウトを設定する https //www54.atwiki.jp/api_programming/editx/202.html USBデバッグ http //www.aiseesoft.jp/tutorials/android-debug-mode.html リリースビルド http //androidstudio.hatenablog.com/entry/2014/07/26/154043
https://w.atwiki.jp/banrui/pages/24.html
開発環境設定 1.Android SDKをインストール 2.環境変数の設定 .bash_profileを書き換える export PATH=$PATH Developer/android-sdk-mac_x86/tools /Developer/android-sdk-mac_x86/platform-tools 3.Android SDKにADTプラグインをインストール Eclipse 「ヘルプ」→メニュー「新規ソフトウェアのインストール」→追加 名前:AndroidPlugin ロケーション:https//dl-ssl.google.com/android/eclipse/ チェックボックにチェック→完了→再起動 4.環境設定→「Android」を選択し、SDKロケーションにはAndroid SDK を配置した場所を指定し「OK」 5.platformsディレクトリは、空の状態なので設定 6.androidでターミナルでAndroid SDK and AVD Manage起動 7.Available packageを選択すると、右側にインストールできるパッケージが表示されるので全部選択→インストール 参考サイト MacでAndroid開発環境構築 Macに「eclipse」、「Android SDK」をインストールしてAndroid開発環境を整える。 プログラミング XML テキストサイズ android textSize パスワード android inputType="textPassword" ■LayoutInflater 参考 実装 TextViewに数値を渡す時は TextView.setText(String.valueOf(int)) を使う 日時の取得 java.util.CalendarクラスなどでOK 参考 Edittext カーソル位置を左上からにするのは、android gravity="top|left"を利用 参考 評価については、RatingBarを利用 サイズの変更と星の手動で動くようにする RatingBar参考 RatingBar生成 SQLite 標準操作マニュアル 参考 Android SQLiteデータベースを作成する(SQL文をリソースファイルに定義する) 参考ページ
https://w.atwiki.jp/android/pages/34.html
なんでもかんでもAndroid情報検索してみたYahoo pipes rss なかなか更新されないので RSSへのリンク も貼っておきます。 大分ごみを減らしました。減らしすぎたかも・・・? キャッシュを消す方法はないんかなあ。。。 showrss プラグインエラー RSSが見つからないか、接続エラーです。
https://w.atwiki.jp/hoshiba/pages/62.html
ウェブサイト新着情報 録音したTwitterスペースをiOS、Android、ウェブの全ユーザーが聴けるように - TechCrunch Japan 年末に売れてるSIMフリーAndroidスマホは? OPPO・Xiaomi・シャープ・サムスンが大接戦(BCN) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの反応が遅くなる「8つの誤った使い方」とその対処法(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース キャリアSNS「YOUTRUST」がAndroid版アプリをリリース、累計登録ユーザー数10万人突破も発表 - TechCrunch Japan iOS/Android版「聖剣伝説 Legend of Mana」が配信開始!PS4/Switch版コレクターズエディションの追加生産も決定|ゲーム情報サイト Gamer - Gamer マジ? AirTag悪用の高級車窃盗が報告される…(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidの12月月例更新開始 「致命的」な6件を含む多数の脆弱性修正 - - ITmedia Mobile 新型コロナワクチン接種証明書アプリ、公開は12月20日 iPhoneとAndroid向け - ITmedia NEWS 『ポケモンユナイト』Nintendo Switch版とiOS/Android版の合計ダウンロード数が5000万回を突破。10月の2500万回突破からわずか2ヶ月で倍増(電ファミニコゲーマー) - Yahoo!ニュース - Yahoo!ニュース 「星間パイオニア」Android版の先行プレイがスタート。Twitterキャンペーンを実施中 - 4Gamer.net ドンキ、あえてチューナーレスの「Android TV搭載スマートテレビ」をうたう24型/42型 - 価格.com Xperia XZがAndroid初のトップ10入り 「にこスマ」の11月中古スマホランキング(ITmedia Mobile) - Yahoo!ニュース - Yahoo!ニュース Androidスマホのストレスを軽減する3つのステップ(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース 『アンリアルライフ』iOS/Android版がリリースへ。記憶喪失の少女がサイコメトリー能力を駆使して冒険、お手頃価格で気軽に楽しめるように(電ファミニコゲーマー) - Yahoo!ニュース - Yahoo!ニュース Androidのスマホ性能チャート、Snapdragon 888 Plusが優位に - iPhone Mania 6年前にリリースされたFairphone 2にソフトウェアアプデ。Android 10対応に - GIZMODO JAPAN シャープからAndroidスマホ「AQUOS wish」、“シンプルでソーシャルグッド”な新機種 - ケータイ Watch Androidゲーム機の時代が来る? (1/4) - ASCII.jp フリーランス・副業向け マッチングサービス『Workship』、iOS/Androidアプリをリリース - PR TIMES AndroidスマホとiPadを上手に組み合わせて使う方法(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース 今売れてるAndroidスマートフォンTOP10、シャープ製品が16週ぶりに首位 2021/12/4(BCN) - Yahoo!ニュース - Yahoo!ニュース XperiaがAndroidスマホ販売シェア1位に浮上――今さら感強い「Xperia View」に不安要素:石川温のスマホ業界新聞 - - ITmedia Android/Fire TV版「DiXiM Play」にキャスト機能追加(Impress Watch) - Yahoo!ニュース - Yahoo!ニュース 「Android 12L」と「iPad OS 15」がすごくてもタブレットが売れない理由 - TechTargetジャパン Amazonアプリストア、Android 12で動作しない不具合が1か月以上継続中 - Engadget日本版 グーグル、「Android Auto」をアップデート--ついにデジタルキーに対応 - CNET Japan 2021年12月第1週 AndroidにもRISC-Vの波が来るのか - Gihyo Jp バンキング型トロイの木馬が30万台以上のAndroidに感染か 国内金融機関も標的に - ITmedia Google、DevSummit 21で大画面Androidデバイスのサポートを発表 - InfoQ Japan Y!mobile、Amazonブラックフライデーで「Android One S5」「Libero S10」を1円に - - ITmedia 2022年のAndroidスマホはiPhone13シリーズに性能面で勝てるのか? - iPhone Mania 今売れてるAndroidスマートフォンTOP10、「Xperia 5 III」が2週連続TOP10入り 2021/11/27(BCN) - Yahoo!ニュース - Yahoo!ニュース AmazonブラックフライデーでiPhoneやAndroidスマホがセール対象に 1円端末も - - ITmedia 5G対応で3万円台のAndroidタブレット見参!ソフトバンクの「Lenovo TAB6」を使ってみた - PC Watch Androidのバージョン別シェア、いまだ3年以上前のものの合計が約50%を占める - iPhone Mania Xperiaが国内Androidシェア1位に躍進した理由 「ミッドレンジが好調」だけにあらず(1/2 ページ) - - ITmedia Mobile Twitterの投げ銭機能「Tips」、Androidアプリでも設定可能に - ITmedia NEWS 何が変わる?「Android 12」の最新機能とアップデートのタイミング| - @DIME 古いAndroidスマホがバージョンアップできない原因 – アップデート非対応機種か確認 (2021年11月19日) - エキサイトニュース Androidでアプリを毎回閉じないほうがいい - ギズモード・ジャパン Samsung、「Android 12」ベースのGalaxy新ランチャー「One UI 4」リリース - - ITmedia Mobile Pixel 6などのAndroidスマホが意図せず電話をかけてしまう問題が解消 - PC Watch 作って楽しむプログラミング Androidアプリ超入門 改訂新版 - nikkei BPnet Apple CEO「それならAndroidを買って」iPhoneでは絶対に認めないこと - AppBank.net OPPO初となるAndroidタブレットのスペックと価格がリーク - HelenTech 今売れてるAndroidスマートフォンTOP10、OPPOとソニーが首位争い 2021/11/13(BCN) - Yahoo!ニュース - Yahoo!ニュース Androidユーザー満足の最新スマートウォッチ「Fossil GEN 6」場面を問わず1日中装着【今日のライフハックツール】(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース E-inkなのにAndroid搭載! 新感覚タブレット「BOOX - Nova Air」(BCN) - Yahoo!ニュース - Yahoo!ニュース 正当なアプリを装う新たなAndroidスパイウェア「PhoneSpy」が韓国で発見される - TechCrunch Japan 「Xiaomi Pad 5」はハイエンドAndroidタブレットの真打ちだ! (1/2) - ASCII.jp 「iPhone→Android」「Android→iPhone」の機種変更で予想外だったこと(マネーポストWEB) - Yahoo!ニュース - Yahoo!ニュース Googleのスマホ「Pixel 6」「Pixel 6 Pro」はどんなスマホ? 特徴をチェック!(Fav-Log by ITmedia) - Yahoo!ニュース - Yahoo!ニュース Android 12にアップデートすると使える新機能12選 - GIZMODO JAPAN この秋、発売されるAndroidスマホの本命は?(@DIME) - Yahoo!ニュース - Yahoo!ニュース 不要アプリを一気に消したい! ストレージの空きを増やしたい! そんなときに使えるAndroid標準機能 - ケータイ Watch Androidの11月月例更新開始 「致命的」な2件を含む多数の脆弱性修正 Pixelでは機能改善も - - ITmedia Mobile 2021年秋、バラエティが広がるハイエンドAndroid市場を俯瞰する - Impress Watch 折りたたみや大画面に最適化の「Android 12L」、来年公開へ - - ITmedia Mobile 楽天モバイル、Android 12提供予定のスマートフォンを案内 - ケータイ Watch Windows 11で「Androidアプリ」を実行可能に、プレビュー版をWindows Insider Programで提供開始 - ITmedia 今売れてるAndroidスマートフォンTOP10、Xperiaが1位・2位を独占 2021/10/23(BCN) - Yahoo!ニュース - Yahoo!ニュース AndroidにはないiOSの優れた機能8選(ライフハッカー[日本版]) - Yahoo!ニュース - Yahoo!ニュース Android 12リリース。使える機種が限られるけど...「Material You」が使えるようになるよ #Pixel6Launch(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの「緊急通報・緊急情報」の登録方法は?万が一の確認方法など紹介 - TIME&SPACE ドコモが「Android 12」バージョンアップ対象モデルを公表 46機種で対応予定 - - ITmedia Android 12.1早くもリーク、折りたたみスマホ対応が進化しそう(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース Androidスマホの「アプリの権限」ってなに?許可してもOK?注意点など解説 - TIME&SPACE Androidにこの秋追加予定の13の新機能 TVリモコンや「Camera Switches」など - - ITmedia [ケータイ用語の基礎知識]第982回:YouTubeは見れるの? Androidアプリも使える? ファーウェイのスマホ・タブレットのHarmonyOSとは - ケータイ Watch 慣れると元に戻れなくなるかも、Androidアプリ「アルテ日本語入力キーボード」 - ケータイ Watch Android 11のアプリ権限リセット機能、過去OSでも利用可能に - Engadget 日本版 Androidスマホの速度が遅くなってきた時の対処法6つ - Lifehacker JAPAN Androidの位置情報を完全にオフにする方法 - Lifehacker JAPAN 2021年9月第3週 そろそろAndroid 12がリリースされるので復習:Android Weekly Topics - Gihyo Jp 【最新版】1万円台からのおすすめAndroidタブレット7選 - PC Watch 韓国、グーグルに約200億円の課徴金--「Android」の独占的地位を乱用 - CNET Japan Android 12 beta 5(ファイナル)公開 正式版は「数週間中」 - - ITmedia Androidの9月のセキュリティパッチ、脆弱性などを修正 - ケータイ Watch iPhoneもAndroidスマホも7年は使い続けられるように…ドイツ政府がEUに新法案を提唱 - GIZMODO JAPAN 「Windows 11」でのAndroidアプリ利用、10月5日には含まれず - ITmedia Androidで使いたい便利な時短機能10選 - Lifehacker JAPAN スマホ画面用「Android Auto」、Android 12で廃止へ - CNET Japan Androidを表情で操作するカメラスイッチ、Android 12ベータ4で利用可能に - Engadget日本版 家族のスマホさがしからクルマの遠隔ロックまで。Androidの「デバイスを探す」機能がめちゃ便利になりそう - GIZMODO JAPAN Androidの2021年8月のセキュリティパッチ情報が公開 - ケータイ Watch Google、Android 2.3.7以前の端末からのログインサポートを終了へ - Engadget日本版 Androidの「ジェスチャーナビゲーション」とは?操作が便利になるテクニックを紹介 - TIME&SPACE Google、Androidデバイス用機械学習プラットフォームを発表 - ケータイ Watch Windows 11で動くAndroidアプリ その背景にあるもの - ITmedia Android版「Googleアプリ」にアップデート 強制終了を繰り返す問題を修正 - - ITmedia 【復旧】Android版Googleアプリが「繰り返し停止」、多数デバイスに影響 - マイナビニュース 「Android 12」はどこが新しくなった? デザインやプライバシー機能に注目 - TechTargetジャパン 「Android 12」ベータに見る、スマホの進化の明日はどこだ!? - ケータイ Watch グーグル、Android 12でアプリによるトラッキングを拒否可能に - GIZMODO JAPAN 「SIMフリースマホ」予算2万円台のAndroidおすすめ5選【2021年5月版】 - - ITmedia 「Android 12」のリリース時期、新機能は?--これまでの情報まとめ - CNET Japan Androidアプリ障害の原因になった「WebView」ってなに? - ITmedia Androidの『おやすみモード』とは?通知の停止・アラーム自動セットなど機能満載 - TIME&SPACE Androidスマホのメリットとデメリット - Lifehacker JAPAN 「Android 12」のプレビュー版が初登場、新機能はまだないけど画面には細かい変化も - ケータイ Watch ブログ新着情報 #blogsearch2 technorati検索結果 #technorati
https://w.atwiki.jp/mcbkts/pages/4.html
Backupとは、自動でサーバーのバックアップを取ってくれるbukkitプラグインです。 荒らし対策は他のプラグインで済んでるのでなんか問題があった時用でしょうかね。 このサーバーでは15分おきぐらいにバックアップを取っています(デフォルト) 自動で/save-allのコマンドを実行してくれる機能があるそうですが当鯖では無効になっています(これもデフォルト) バックアップは25日間保持されます。(またまたデフォルト) コマンド一覧 /backup バックアップを開始します。 /backup help このプラグインの情報が見れるようです。 /backup list このプラグインで保存されたバックアップが表示されます。 これぐらいしかわかりません。 ほかにも機能があるそうですがggってもなかなか出てこないのでわかりませんでした。
https://w.atwiki.jp/tako2lab/pages/18.html
Android Android関連の覚書とか。 基本的にEclipseを使って開発するようだけど、使わないでする方法もあるようなので、その線でやってみる。 #HaiPad を購入したので、ぼちぼち現状に合わせて書き直してみる [2010-10-25] Android SDK のインストール http //code.google.com/android/download.htmlからSDKをダウンロード バージョン r07 を使用 バージョン m3-rc22a を使用 Android 1.6 から SDK のインストール方法が変わったとか インストール方法 ⇒ http //developer.android.com/sdk/installing.html 適当なディレクトリに展開 展開したディレクトリを$SDK_ROOTとしたとき、$SDK_ROOT/toolsをパスに追加 後でcygwinから参照できるように C のルートに展開した (C \android-sdk-windows\tools をパスに追加) 各 SDK や USB ドライバのインストールは、SDK Manager から行う http //developer.android.com/sdk/adding-components.html JDK のインストール http //java.sun.com/javase/downloads/index.jsp JDK 6 Update 3 を使用 これもインストール先を C \Java にして展開 Apatch Ant のインストール http //ant.apache.org/ Apatch Ant 1.7 を使用 これもルートに展開 環境変数を設定 PATH に C \apache-ant-1.7.0\bin を追加 ANT_HOME に C \apache-ant-1.7.0 を設定 JAVA_HOME に C \Java\jdk1.6.0_03 を設定 プロジェクトの作成 activityCreator を使ってプロジェクトを作成 プロジェクトを作りたいディレクトリに移動して、次のようにコマンドを実行 activityCreator --out [プロジェクト名] [パッケージ名.アクティビティ名] % activityCreator.bat --out HelloTako tako.test.HelloTako プロジェクト名のついたディレクトリが作成される ビルド プロジェクトのディレクトリで ant を実行 % cd HelloTako % ant bin の下にできた .apk ファイルが実行ファイル HelloTako.apk 実行(デバッグ) エミュレータを起動 (C \android_sdk_windows_m3-rc22a\tools\emulator.exe) % emulator エミュレータと通信するためのサーバを起動 % adb start-server adb を使って .apk をインストール エミュレータはホーム画面に戻しておくこと % adb install HelloTako.apk ホームの Applications にインストールされるので、そこへ移動して実行 リンク android情報まとめ@wiki
https://w.atwiki.jp/android/pages/12.html
Androidって何? Androidは、オペレーティングシステム、ミドルウェアと鍵となるアプリケーションを含むモバイル端末のためのソフトウェアスタックです。 Android SDKのこの早めのリリースは、Javaプログラミング言語を使用しているAndroidプラットホームでアプリケーションを開発し始めるのに必要なツールとAPIを提供します。 特徴 コンポーネントの再利用と置き換えを可能にするアプリケーションフレームワーク モバイル端末に最適化したダルヴィーク(Dalvik)ヴァーチャルマシン オープンソース WebKit エンジンに基づく統合化されたブラウザー カスタム2Dグラフィックライブラリによる最適化されたグラフィックス 3DグラフィックはOpenGL ES 1.0の仕様準拠(ハードウェアアクセラレーションは任意) 構造化されたデータ領域のためのSQLite搭載 一般的なオーディオ、ビデオと静止画フォーマットをサポート(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF) GSM通話(ハードウェア依存) Bluetooth、EDGE、3G、WiFiに対応(ハードウェア依存) カメラ、GPS、コンパス、加速度計(ハードウェア依存) リッチな開発環境、端末エミュレーター、デバッグ、メモリー、パフォーマンスのプロファイリングのツール、およびEclipse IDE用のプラグイン Androidのアーキテクチャ 以下は、Androidオペレーティングシステムの主要コンポーネント図です。各々のセクションの詳細は下記に続きます。 アプリケーション Androidは電子メールクライアント、SMSプログラム、カレンダー、地図、ブラウザー、コンタクト(アドレス帳)、その他を含む一組のコアアプリケーションを搭載します。すべてのアプリケーションは、Javaプログラミング言語を使用して記述されます。 アプリケーションフレームワーク 開発者はコアアプリケーションに用いられるものと同じフレームワークAPIへ完全にアクセスできます。 アプリケーションのアーキテクチャは、コンポーネントの再利用を単純化するように設計されています。 どのようなアプリケーションでもその能力を公開することができます。そして、他のどのアプリケーションからもそれらの能力(フレームワークによって実施されるセキュリティ制約に制限される)を利用するかもしれません。このようなメカニズムにより、ユーザーによるコンポーネントの入れ替えを可能にします。 すべてのアプリケーションは、以下のサービスとシステムによって成り立っています。 リスト、グリッド、テキストボックス、ボタンと組み込み可能ななウェブブラウザを含むアプリケーションを構築するのに用いることができる豊かで拡張可能なViews?のセット アプリケーションが他のアプリケーション(例えばアドレス帳)のデータにアクセスするか、彼ら自身のデータを共有することを可能にするContent Providers? Resource Manager?(ローカライズされた文字列、グラフィックスとレイアウトファイルのような非コード資源を提供する) すべてのアプリケーションがステータスバーでカスタムメイドのアラートを表示することを可能にするNotification Manager? アプリケーションのライフサイクルを管理して、共通のナビゲーション履歴を提供するActivity Manager? アプリケーションの詳細とウォークスルーについてはAndroidアプリケーションについて?を参照してください。 ライブラリ Androidは、Androidシステムの多様ななコンポーネントにより用いられるC/C++ライブラリのセットを含みます。 これらの能力は、Androidアプリケーションフレームワークを通して開発者に公開されます。 主なライブラリは以下の通りです。 システムCライブラリ 標準的なCシステムライブラリ(libc)。(組み込み向けLinuxベースのデバイスのために調整した)BSDから派生した実装です。 メディアライブラリ PacketVideo社のOpenCOREをベースにしています。ライブラリは、多くの一般的なオーディオとビデオ形式(MPEG4、H.264、MP3、AAC、AMR、JPGとPNGのような静止画を含む)の再生とレコーディングをサポートします。 Surface Manager 表示サブシステムへのアクセスを管理して、複数のアプリケーションからシームレスに2Dと3Dグラフィックレイヤーを合成します LibWebCore Androidブラウザーと組み込み可能なウェブ表示を可能にする最新のウェブブラウザエンジン SGL 下位層にある2Dグラフィックエンジン 3Dライブラリ OpenGL ES 1.0のAPIに準拠しています。ライブラリはハードウェア3Dアクセラレーション(ハードウェア依存)、あるいは標準装備の高度に最適化された3Dソフトウェアラスタライザーを使用します。 FreeType ビットマップとベクターフォントのレンダリング SQLite すべてのアプリケーションで利用可能な強力で軽量なリレーショナルデータベースエンジン Androidランタイム Androidは、Javaプログラミング言語のコアライブラリの機能の大部分を提供するコアライブラリを含んでいます。 あらゆるAndroidアプリケーションはDalvik VMのインスタンスをアプリケーション毎に生成することによって、独立したプロセスで動作します。 Dalvik VMはデバイスが効率的に複数のヴァーチャルマシンを走らせることができるように作られています。 Dalvik VMは、省メモリのために最適化されたDalvikで実行可能なフォーマット(.dex)を使用してファイルを実行します。 VMはレジスターに基づいた、Java言語コンパイラによってコンパイルされたクラスを付属の"dx"ツールを使用して.dexフォーマットに変換したものを実行します。 Dalvik VMは、Linuxカーネルの根底にある機能(例えばスレッディングと低レベルのメモリ管理)で成り立っています。 Linuxカーネル Androidは、Linux 2.6のコアシステムサービス(セキュリティ、メモリ管理、プロセス管理、ネットワークスタックとドライバーモデル)で成り立っています。また、カーネルはハードウェアと残りのソフトウェアスタックの間の抽象レイヤーの働きもしています。 次 → Androidことはじめ 戻る 原文
https://w.atwiki.jp/melodroid/pages/17.html
Armadillo-500 FX用開発環境構築 概略 Armadillo-500 FX上で動作するAndroidのビルド環境構築について記載する。 記載、および、動作確認には、cupcakeバージョンを対象としている。 バージョンによっては、不要な手順もある。 目次 Armadillo-500 FXについて 環境構築目標 ファイル取得 ファイル配置 カーネル修正 ユーザ空間修正 追加ファイル パス設定 ビルド方法 ビルドスクリプト ビルド生成物 未解決問題 検証中 Armadillo-500 FXについて Armadillo-500fxは、組込み向けの開発キットになる。 言い方を変えると、「高いおもちゃ」ということ。 仕様等の詳細は、公式となるAtmark Technoの紹介ページを見てください。 環境構築目標 Armadillo-500fx用の環境を作る上での目標をまとめておく。 テーマは、「手軽に、かっこよく」ってことで。 以下に、具体的な目的をまとめておく。 コマンドひとつで、カーネル+ユーザ層がビルドできるようにする eeepc701用のビルドで採用されているように、vendor配下を作ってみる 生成物を焼きやすい形にまとめるようにする いろいろ手順が簡単になるようにする ファイル取得 環境を作成する上で元となるソースの取得方法について記載する。 取得するソースは、2種類に分かれる。 AndroidのLinuxカーネル部分以外のソース Linuxカーネル部分のソース Androidのカーネル部分以外のソース いわゆる、Androidのソースと言われる部分。 いつからか、カーネルが同時に取得できなくなったので、カーネル以外と記載している。 (Armadillo-500fxでは、カーネルも構築する必要があるためである。) Android開発環境構築の手順の中で、ソース取得準備まで実施する ソース取得方法(repo)にあるように、repoコマンドでソースを取得するビルドできるバージョンを使うため、”repo init -u git //android.git.kernel.org/platform/manifest.git -b cupcake"等バージョン指定を実施する その後、"repo sync "を実施する Linuxカーネル部分のソース Linuxカーネルの部分を取得する。 この部分が主にハードウェア用のカスタマイズが必要な部分となる。 また、GPLライセンスに縛られているため、どこかで取得できる。 今回は、Armadillo-500fxが対象となるので、公式から取得する。 ブラウザ等で、Armadillo-500 FXダウンロードを開く Linuxカーネルを取得(確認当時、v2.6.26-at6 でした) ファイル配置 ダウンロードしたソースの配置について記載する。 以降の説明用には、この節で記載したフォルダ構成で記載する。 ”repo init”、"repo sync"を実行したフォルダを「cupcake」とする「cupcake」配下に、「bionic」、「framework」等のフォルダがあることになる ダウンロードしたカーネルファイルを展開する展開すると、「linux-2.6.26-at6」というフォルダができる 展開したフォルダの名称を「kernel」と変更する「kernel」配下に、「drivers」等のフォルダがあることになる 「cupcake」フォルダの中に、「kernel」フォルダを移動する「cupcake/framework/base」、「cupcake/kernel/drivers/usb」等の階層となる 注意事項階層の説明はわかりづらいかも・・。できたら、絵を追加したい。 取得バージョンによっては、例で示すフォルダが存在しない場合がある。 カーネル修正 ダウンロードしたカーネルファイルには、Android用の修正が適用されていない状態である。 その為、Android用の修正を実施するために、修正パッチの適用を実施する。 Android用パッチを取得するブラウザ等で、公式ファイルブラウザ内のandroid directoryを開く 「linux-2.6.26-at-android-tmp-081210.patch」をダウンロードする カーネルにパッチを適用するカーネルフォルダ(cupcake/kernel)内に、ダウンロードしたpatchを移動する 端末で、カーネルフォルダ(cupcake/kernel)内に移動する 端末で、「patch -p1 linux-2.6.26-at-android-tmp-081210.patch」を実施し、パッチを適用する ATDEを使用しない為、Makefileを一部修正する「cupcake/kernel/arch/arm/plat-mxc/sdma/Makefile」をテキストエディタで開く 「KBUILD_CFLAGS = -I$(KBUILD_SRC)/arch/arm/plat-mxc/sdma/iapi/include \」の行を修正する「 =」の部分を「+=」に変更する 注意事項patchの使い方は、うる覚え。試した人は結果ください(汗) Makefileの修正については、以下を参照ください。「Armadillo 04247」 「PATCH」 armadillo-500 make O= building ユーザ空間修正 Armadillo-500fxでのcupcake版ビルドで、ユーザ空間で必要な修正について記載する。 カーネル、Androidバージョンの組合せに依存して発生する。 他の組合せだと不要かもしれない。 Armadillo-500fxで動かす場合のcupcake版での問題点起動時、バッテリ状態が取得できない為、ローバッテリだと判断して、電源OFFしてしまう 対策方法(例:実際できないかも・・)電源管理アプリでダミー値で処理する framework層(java層)でダミー値を返す JNI層(Linuxアプリ層)でダミー値を返す カーネル層でダミー値を返す framework層とJNI層は、ほぼ同等で、java好きか、C++好きかになる。 ここでは、JNI層での修正方法を示す。 対象となるファイルをテキストエディタで開く”cupcake/frameworks/base/services/jni/com_android_server_BatteryService.cpp” バッテリ状態を返す関数の復帰値を変更するgetBatteryStatus()”gConstants.statusUnknown”を常に返すように変更 getBatteryHealth()”gConstants.healthUnknown”を常に返すように変更 readFromFile()bufに文字列”Unknown”(NULL終端付)を入れて、sizeを復帰値とした (bufの領域は、自分できちんと確認してね・・壊れてるかも) setBooleanField()関数readFromFile()をコールし、結果で判断するif処理を削除 変数valueを常にtrueに変更 (要するに、readFromFile()のコールを削除して、value固定化) setIntField()関数readFromFile()をコールし、結果で判断するif処理を削除 変数valueを常に1に変更 (要するに、readFromFile()のコールを削除して、value固定化) 注意事項上記修正は、重複もありそうだけど、良しとした。 JNI層での修正に関しては、EeePc porting - Instructions for last codebaseを参考にして実施。 framework層での修正は、Android 1.5 on Zaurusに修正差分がある。(試してないけど・・) 追加ファイル ビルド時に、”TARGET_PRODUCT=armadillo500fx_dev”等と指定する為、vendor配下に追加するファイルについて記載する。 他の機種(eee_701等)と合わせる為、以下の階層にファイルを作成する ”cupcake/vendor/atmarktechno/armadillo500fx_dev”(これじゃなくても良さそうだけど・・なんとなく・・) 格納するフォルダを作成する上記の”cupcake/vendor/atmarktechno/armadillo500fx_dev” 格納フォルダ内にファイルを作成するAndroid.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のAndroid.mkをコピーコメントのみなので、不要である可能性有り AndroidBoard.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のAndroidBoad.mkをコピー Armadillo-500 FX用に修正KERNEL_DEFCONFIGに指定するファイルを変更(qsd8650_defconfig→armadillo500fx_dev_android_defconfig) キーボードマップファイルの指定ファイルを変更(surf_keypad.kl→tuttle2.kl) (surf_keypad.kcm→tuttle2.kcm) ブート用のビルド設定を削除”include vendor/qcom/$(TARGET_PRODUCT)/boot/Android.mk”を削除 init.rcのコピー設定を追加”PRODUCT_COPY_FILES +=$(LOCAL_PATH)/init.rc root/init.rc”を追加 (正しいか不明) AndroidProducts.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のAndroidProducts.mkをコピー Armadillo-500 FX用に修正(qsd8250_surf.mk→armadillo500fx_dev.mk) armadillo500fx_dev.mkAndroid版Makefileみたいなもの(呼ばれる順番不明)”git clone git //android.git.kernel.org/platform/vendor/htc/dream-open.git”でサンプルを取得 上記取得ファイルの中のhtc_dream.mkをコピー ファイル名を”armadillo500fx_dev.mk”へ変更 Armadillo-500 FX用に修正変数”PRODUCT_NAME”を変更(htc_dream→armadillo500fx_dev) 変数”PRODUCT_DEVICE”を変更(dream-open→armadillo500fx_dev) 変数”PRODUCT_MANUFACTURER”の記載を削除 BoardConfig.mkAndroid版Makefileみたいなもの(呼ばれる順番不明) デバイスに合わせてフラグ設定をまとめている?”git clone git //codeaurora.org/platform/vendor/qcom/qsd8250_surf.git”でサンプルを取得 上記取得ファイルの中のBoardConfig.mkを参考に作成するデバイス依存部の削除とブート関連記載の削除 (基本、genericで、カーネルビルドだけ付加した形かな) 以下がArmadillo-500 FX用の設定TARGET_NO_BOOTLOADER = true TARGET_NO_KERNEL = false(カーネルビルド用) TARGET_NO_RADIOIMAGE = true BOARD_USES_GENERIC_AUDIO = true USE_CAMERA_STUB = true TARGET_BOOTIMAGE_USE_EXT2 = true(たぶん、不要) TARGET_USERIMAGES_USE_EXT2 = true(たぶん、不要) init.rc起動時に、initから参照される設定ファイル initでのコマンド解釈ルールにより、動作する 必須ではない為、”.mk”内にコピー用の記載が必要。 デフォルトだと、"cupcake/system/core/rootdir"内のファイルになる?(要確認)同名ファイルが他に存在? (要確認)環境変数”TARGET_PROVIDES_INIT_RC”が影響?デフォルトファイルから、”yaffs2”の記載がある行を”#”でコメントアウトマウント設定、権限設定があるので、見直しの必要有り system.prop設定ファイル(よくわかっていない) 予想:特定用途のライブラリ、インタフェイスの設定"cupcake/build/target/board/generic"内からコピー tuttle2.kcmキーボードマップ関連(よくわかっていない)"cupcake/build/target/board/generic"内からコピー tuttle2.klキーボードマップ関連(よくわかっていない)"cupcake/build/target/board/generic"内からコピー カーネルをビルドする為に、"cupcake/kernel"配下にファイルを追加するAndroidKernel.mk”git clone git //codeaurora.org/kernel/msm.git”でサンプルを取得カーネル一式なので、重たいかも・・ AndroidKernel.mkをcupcake/kernel内にコピー サンプル2と3のサンプルを添付ファイルとしてアップ(armadillo_cust.tar.gz) ライセンスとか問題あったら、指摘してください 注意事項”.mk”の記載ルールがはっきりとわかっていない為、間違ってるかも 現状、不明なファイルについては、generic時に使用されるファイルを使用 当初、書込みファイル自体不明だった為、不要な設定も含まれているかも パス設定 Armadillo-500FXは、CPUがARMとなっている。 一方で、ビルドマシンとしては、x86を想定している。 上記のため、クロスコンパイラ用のパスを追加する必要がある。 その為のパス設定について記載する。 クロスコンパイラの場所cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/ cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/ cupcake/prebuilt/linux-x86/toolchain/i686-unknown-linux-gnu-4.2.1/bin/ パス設定の追加"cupcake/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/”へのシンボリックリンクを作成する(以下、arm-eabi-4.2.1を作成したリンクとする)端末で、"ln -s"コマンドを使う 上記手順は不要な場合がある 端末上で、"PATH=$PATH arm-eabi-4.2.1"として、PATHへ追加する毎回書くのはめんどくさいので、.bashrc とか、ビルドスクリプトに入れると良い ビルド方法 ビルド方法を記載する。 端末で、”cupcake”フォルダまで、移動する "export TARGET_PRODUCT=armadillo500fx_dev"とコマンドを入力する "make"とコマンドを入力する ビルドスクリプト ビルドの為のスクリプトを紹介しておく ビルドの為の設定が面倒くさい為に作成した。 ”build_dev.sh”を作成名前はなんでも良い (あくまで、参考程度・・)パス設定を記載 環境設定を記載(例:"export TARGET_PRODUCT=armadillo500fx_dev") ビルドコマンドを記載(”make”等) 上記ファイルを作成すると、ビルドは以下の手順で良い 端末で、"cupcake"フォルダに移動する ". build_dev.sh"とコマンドを入力する ビルド生成物 上記ビルド構築環境でのビルド生成物について記載する ビルド生成物作成フォルダcupcake/out/target/product/armadillo500fx_dev Armadillo書込み対応ファイル/フォルダカーネルcupcake/out/target/product/armadillo500fx_dev/kernel(以降、$KERNEL) ユーザランドcupcake/out/target/product/armadillo500fx_dev/root(以降、$ROOT) cupcake/out/target/product/armadillo500fx_dev/system(以降、$SYSTEM) Armadillo-500 FXへの書込み$KERNELをhermit等でカーネル領域に書き込む ROMのユーザ領域には、Armadillo開発者サイトにあるAtmark Distユーザランドを書き込む Androidユーザ層を構築するローカルに"android"フォルダを作成する $ROOTのフォルダ/ファイルを”android”内にコピー $SYSTEMのフォルダ/ファイルを”android/system”内にコピー 構築したユーザ層をArmadillo-500 FXの/dev/sda1に書き込む/dev/sda1への書込みは、Armadillo開発者サイトを参照してください 注意事項構築するアプリ等に依存して、別途dataフォルダの考慮が必要になる 未解決問題 未解決な問題について記載する ビルド生成物の操作方法 ”chroot”を使わないArmadillo-500FXのAndroid起動方法 各種、環境変数の影響 キーマップファイルの効果 .mkファイル内のAndroid特有コマンド 何かあれば、書き込みます・・。 検証中 未解決問題の中で、今、検証中のものを記載する。 途中経過も書いていければいいな。 現状、検証中はありません。
https://w.atwiki.jp/android/pages/70.html
過去のニュース 2008年12月のニュース 2009年2月のニュース 2009/01/31 T-Mobile dude promises more G series phones this year 2009/01/30 Dellがスマートフォン市場参入か、iPhoneライクな製品も - WSJ報道 General Mobile’s new Android handset Dream G200i Phone Runs Real Google Android Android講習会 デルのうわさのスマートフォン--「Android」と「Windows Mobile」モデルを開発中か デブサミ2009:O-Oneディベート大会! [WSJ] Dell、iPhone対抗スマートフォンを計画 2009/01/29 Google I/O 2009 開催が決定しました 富士通ソフト、Androidを組込機器向けに提供するサービスを提供 富士通ソフトウェアテクノロジーズ、「組込みサービス for Android」提供開始 iPhoneでC#アプリが審査に通るワケ Androidでmono。 Android エミュレータを日本語環境にしてみる オペラソフトウェア、Google Android用「Opera Mini 4.2」の正式版をリリース 属地型メッセージサービス"Echo"を、リリースしました。 1/26リリースだけど。 Kogan Getting Back On Track Google I/O 2009 Androidでゲーム作成(2) Sony VAIO type PにもAndroid Opera、Android向け「Opera Mini 4.2」正式版をリリース 2009年アンドロイド祭りの予感 2009/01/28 Android SDKを入れてみた エミュレータでcupcake Google I/O 2009、登録受付開始 BeagleBoardでAndroid 日本で未発売のAndroidケータイなのだが、独自に入手する方法がある。 日本Androidの会勉強会@2/9の宣伝 2009年2月の定例イベント開催のお知らせ 2009年3月の定例イベント講師募集のお知らせ DSTL1 Android Smartphone Is Battlestar Galactica s iPhone WTFcake Cupcake Hits Market - It’s an Absolute Joke. General Mobile Android-based dual SIM DSTL1 to hit Barcelona Back to the drawing board Kogan working on a redesigned Agora Dual SIM Android Phone DSTL1 From General Mobile More screens of Android Cupcake, and a chance to taste it yourself Garmin Approach G5 Soon To Be Garmin Android App? 2009/01/27 Androidでゲーム作成(1) NECが携帯電話の開発費を劇的に削減、年間開発機種数を2倍に引き上げ Androidが採用される? HTC Dream(aka T-Mobile G1, Android Dev Phone 1)でマルチタッチを使いたくてJF1.41を入れてみる 2009年のLinuxとオープンソース、予想10選 Android G2 Dream Gets Alibaba-ed 2009/01/26 HTC Dream(aka T-Mobile G1, Android Dev Phone 1)のクロックアップを画策してみる(その5) Android Java新年会@札幌を開催しました Cupcake Update Android携帯G1をマルチタッチ対応にする非公式ファームウェア Video T-Mobile G1-powered Forknife robot goofs off, eats cupcakes Android Market App Destroying Phone Data Last.fm、Imeemを追ってAndroidに登場 2009/01/25 HTC Dream(aka T-Mobile G1, Android Dev Phone 1)のクロックアップを画策してみる(その4) クロックアップ対応済みカーネルイメージ有り Ruby for Android その7 Get your hack on unofficial multi-touch support released for Android Samsung Android Sooner Rather Than Later 2009/01/24 All T-Mobile retail stores to carry G1 2009/01/23 Android donut カップケーキの次はドーナツ。 Cupcake on the G1 - the oven timer is beeping… Android Cupcake in all its keyboard-having glory, T-Mobile plays dumb 『Android』搭載の次世代端末『G2』、5月発売との情報も G1 turned into a boot drive is nothing sacred? Ultimate Boot CD On Android 2009/01/22 iPhoneにiPod touchがあるのなら、「Android touch」なんていかが?(写真集あり) これがAndroid端末G1の新版「T-Mobile G2」か--米サイトに写真 世界を変えるケータイサービスを日本から--三井ベンチャーズの最優秀プランが決定 Huawei bringing Android smartphone to next month s MWC Palm Pre Android port already in progress 大阪で日本Androidの会のハンズオンセミナー開催 2009/01/21 Android G2 Photos Thinner and No Keyboard HTC s G2 "Sapphire 2.0" caught slumming in the wilds 本家G2のリーク写真 T-Mobile G2 Pics Leak Lead Android Engineer Leaves For Coupons.com 【台湾】HTC の Android 端末「G1」ドイツ市場へ進出、中国語版も開発完了 Kogan not aware of sketchy Agora clone 「Google Android 調査報告書 2009」を販売開始 Avoiding memory leaks (超訳) Androidのエンジニアリング責任者がGoogleを退社 立ち上げのしんどいところが終わったからかな。 夏野氏も登場、モバイル関係者が業界交流会を開催 Palm Preはマジでスゴいのか? iPhone及びAndroidとガチンコ13本勝負で徹底検証 AndroidをDoxygenに掛けるときに注意したほうがいいこと。 2009/01/20 HTC Dream(aka T-Mobile G1, Android Dev Phone 1)のクロックアップを画策してみる Ruby for Android その4 Avoiding memory leaks WBSでiPhoneが取り上げられたようです "Shining" phone steals a little Agora magic CompuLab Exeda Android Powered Handheld Mobile Device Samsung Android To Sprint, T-Mobile 2009/01/19 めでたくビルドできた。 Android on x86(EeePC) Google、Android Marketをドイツ、オランダ、ポーランド等地域向けアプリにも開放 Switched On The 2008 Switchies T-Mobile schedules the G1 s European tour Ruby for Android その3 Android Dev Phone 1 その12 Androidの正体【第2部】Androidの実行環境 ~ 独自の仮想マシンで実行効率向上 「TED ソリューションセミナ2009(Android編)」セミナ情報|東京エレクトロンデバイス SIMロックフリーの「Android Dev Phone 1」、使用レポート 2009/01/18 T-Mobile G1では、本体スピーカが加速度計に影響する? Ruby for Android Ruby for Android その2 2009/01/17 Android携帯が店頭販売中、Googleなどが開発 オーストラリアのAndroid携帯「Kogan Agora」、発売が無期延期に 2009/01/16 Androidアプリ作成の基本“Activity”とは何か? Android携帯をお母さんにインストール Android 1.5 on SL-C860 起動できた! Debian on Android installer released. Android上でdebianを動かすインストーラ Androidって何がすごいのか――全てのモバイル機器が共通化される日 Aussie Google phone launch aborted QVGAだと将来的に動かないアプリがある可能性があるので作り直すとのこと。HVGAになる? So close, yet so far Kogan Agora delayed indefinitely Agora延期のお知らせ。 First Australian Google Android phone, Kogan Agora, delayed indefinitely Android-powered camera hat keeps mom in the loop and lookin sharp Dream G2 doesn t get the irony of ripping off an open-source OS Chinese Dream G2 Video Surfaces 2009/01/15 Androidの正体【第1部】Androidの目指す世界 ~ 開発環境が充実した組み込みLinux Dream G2 Shows “Android” with Graffiti Text, Stylus Support (VIDEO) Alk CoPilot GPS Software on Android/G1 Exeda Andriod Phone Excessively Ugly 2009/01/14 Is This the T-Mobile Next-Gen G2 Android Phone? 米グーグルのAndroidで何ができるのか,絶対に売れない いったん日本でも売れるレベルのソフトになったらKCP+などひとたまりもないと思うけど。 Dell smartphone rumors flare up -- Android or S60 phone in the works? Why is my list black? An Android optimization HTC prepping Palm Pre, Apple iPhone rival Compulab unveils the exeda Android / WinMo handheld 2009/01/13 HTC:2009年発売予定のデバイスリーク写真 今年発売のHTCのAndroid端末は6機種? キーパーソンインタビュー イー・モバイル 阿部副社長が語る2009年の目標?『特にOSにはこだわっていません。オープンであれば、イー・モバイル向きだと考えています。』慎重なコメント。 「2009年ネットサービスの“台風の目”は?──中編」 動画:Android携帯G1をマルチタッチ対応にするハック G1/Android Video Recording… Blah G1でビデオ録画 Re Does SoundPool work or has anyone successfully used it? SoundPoolを使った再生方法 クラウド隆盛でARMは、さらに伸びるか Rumor Motorola Lay Offs Mean Less Than a Dozen Phones a Year T-Mobile getting HTC Rhodium as the Wing II, Sapphire as the G2? Android Runs Multitouch on the G1, Really Palm Pre Doubters, Haters Dreamers HTC 2009 Roadmap Leaked? Rumor HTC Smartphones Line Up for 2009 Got LEAKED! グーグルはアンドロイドでモバイルOS市場を席巻したいとは思っていない-夏野剛氏 2009/01/12 Why Agora beat other Android phones to market Agoraは世界150カ国で売れているらしい。 家電業界内部から見たCES2009雑感 その1 ZaurusとEeePC 901でツーショット Telstra exec new Android-based HTC phone better than Pre 2009/01/10 [CES2009]米クアルコムの携帯端末向けチップセット「Snapdragon」,Android搭載試作機も披露 2009/01/09 Androidはケータイに対するIT業界のフラストレーション--夏野剛氏 Aussie carriers ignore Kogan s Agora Agoraを正式サポートするキャリアがない。だが、ローンチ! GiiNii launch Movit Mini Android internet tablet Skype Launches on Android Platform and more than 100 Java-Enabled Mobile Phones - About Skype AsusがAndroidベースのEee PC実現を検討中 EeePCシリーズに続いて、安価な携帯電話「Eee Phone」が登場か Android Dev Phone 1 をソフトバンクで使った場合のパケット料金 2 NIMBLe is MC Hammer-approved, brings Android to even the most boring of countertops Skype、AndroidやJava携帯電話用の「Skype Lite」ベータ版公開 CES Android Goodies #2 NIMble 「600MHz、RAM 128MB、NAND FLASH 512MB、480 x 272、800 x 480、マルチタッチ、WiFi、BlueTooth、USB、LAN、Camera」これで$300は安すぎ!デジタルフォトフレーム市場つぶれるなあ。IP電話できるなら家庭用電話がAndroidに置き換わるかも? Hands-on Touch Revolution’s NIMble Android-powered platform NIMble $300 Android Desktop Phone Designed by iPhone Engineer iPhoneのエンジニアによりデザインされたAndroid。デジタルフォトフレームの超高機能版な感じ。 【台湾】HTC の2008年度収益、1,500億 NT ドルを突破 『Windows Mobile と Android ベースの新型モデルを合計10機種以上発売すると予想』HTCだけでAndroidが5機種くらいでるんかな? Return of the Cheap Decade 2.6.28用Androidパッチ Android for MID Hands On Giinii Movit Mini The Android Tablet 『like an Android iPod touch』Android版iPod Touch。 Qualcomm Shows Android On Snapdragon Chipset 1GHzで動作するとパフォーマンスはどんなもんなんかなあ Android shows up on X200, caught on video Skype Lite Puts VoIP Calls on Android Phones 速報:Palm、新プラットフォームPalm Web OS、新スマートフォン Palm Preを発表 2009/01/08 Android 証明書違いでインストールできなくなった。 Androidのタトゥを入れる美女、ナタリーたん Qualcomm tries to distract from Snapdragon fail with Android 日本Androidの会 2009年1月のイベント 組み込みWG祭り!応募は ここから GiiNii s Movit Mini WiFi Android tablet hands-on ASUS Confirms Considering Android Netbook ASUS looking into Android for Eee Phone and Eee PC 2009/01/07 Kogan s Android-powered Agora gets handled on video 第3回 2009年のGoogleケータイを見る 早くustream配信できるようになって欲しいなあ。 Android、モバイルWiMAX……携帯電話市場で2009年に起きる変化とその成否を探る アプリ開発者を呼び込むAndroid搭載端末 『Androidはユーザによる開発を助長するプラットフォームといえる。』 Kogan Agora Gets Sneak Peeked Agoraの流出画像 2009/01/06 Android 勝手アプリ・ストア Steve Jobs "People Don t Read Anymore," Android Is Going Down JobsがAndroidをバッサリ。 Garmin、スマートフォン「nuvifone」のスクリーンショットを公開 PSP homebrew - Android beta 1 - PlayStation Portable News - PSP Updates PSP上でAndroid!うほーっ!・・・ってよく見たら見た目だけでした。 Freescale、「200ドル」ミニノートPC市場参入を表明 これはAndroid載せてくるんじゃないかと勘ぐりたくなる。どきどき。 [Macworld2009]Skypeの携帯端末版「Truphone」は携帯事業者から音声サービスを奪うか 『Androidに向けても,近い将来にTruphoneを公開したい。』 Androidあぷぷ cupcakeをUMPCへ移植(成功編) 帰ったらT5で試してみよう。 Android Marketの有料アプリは1月中旬以降に開始 年末に来た個別メールでは初旬って書いてたのになあ。 2009/01/05 Extended G1 Battery Get 15% More Juice Can I use this Intent? Intentが使えるか事前に調べる方法。本家ブログ記事。 仮想と現実を重ね合わせる「Augmented Reality」 2009キーワード 『アンドロイド端末向けのARアプリケーション開発が進むことが期待されている。』 米フリーライターら、AndroidをASUS Eee PCに移植 Androidコードスタイルガイド 日本語訳 翻訳ドキュメントは こっち iPhone 3G、スマートフォンそしてMVNO──2009年注目のキーワードは PC市場の救世主か破壊者か、「ネットブック」は新世代へ Android tattoo girl Androidの刺青しちゃったおんなのこ。 SIMロックフリーの「Android Dev Phone 1」、開封レポート 写真1枚で1ページな上に22ページあるので、Autopagerize推奨。 2009/01/04 VMware上のUbuntu8.10でAndroidエミュレータを起動する EeePc にAndroid &日本語 cupcakeの日本語化 Androidケータイ、「MS Office 2007」フル対応で、ビジネスユーザーに猛アピール 2009/01/03 NetbookでAndroidを動かす 2009/01/02 Eee PC 1000H に Androidを移植 Android installed and running on an Eee PC in a matter of hours Android on Eee PC 4G-X macでdev phone用のandroidをビルドする MAC上のエミュレータでcupcakeを起動する android cupcakeの新機能スクリーンショット(1) android cupcakeの新機能スクリーンショット(2) 今年2回目のROM焼き+アルファ mod RC30への道 - 前編 RC29に戻すよ mod RC30への道 - 中編 recovery.imgをかきかえちゃうよ mod RC30への道 - 完結編 やっとmod RC30を焼くよ 2009/01/01 2009年、ドコモは「オープンOS」を支援する──NTTドコモ 辻村清行副社長 Android netbooks on their way, likely by 2010